package net.yla.smartbus.module.ba.employee.mapper;

import net.yla.smartbus.module.ba.employee.entity.EmployeeDO;
import net.yla.smartbus.module.ba.employee.query.EmployeeQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description:
 * @author: Yee
 * @date: 2021/6/17 14:50
 */
@Repository
public interface EmployeeMapper {
    /**
     * 根据groupId查找人员
     *
     * @param id
     * @return
     */
    List<EmployeeDO> findByGroupId(Integer id);

    /**
     * 查询人员信息
     *
     * @param query
     * @return
     */
    List<EmployeeDO> findEmp(EmployeeQuery query);

    /**
     * 获取符合条件员工的记录数
     *
     * @param query
     * @return
     */
    int countEmp(EmployeeQuery query);

    /**
     * 逻辑删除
     *
     * @param empId
     * @return
     */
    int delPersons(@Param("empId") Integer empId);

    /**
     * 查询员工卡号是否存在
     *
     * @param cardNo
     * @return
     */
    Integer employeeCradNo(String cardNo);

    /**
     * 查询员工工号是否存在
     *
     * @param code
     * @return
     */
    Integer employeeCode(String code);

    /**
     * 增加人员
     *
     * @param personDO
     * @return
     */
    int insertEmp(EmployeeDO personDO);

    /**
     * 更新指定的员工的信息记录
     *
     * @param personDO
     * @return
     */
    int updateEmp(EmployeeDO personDO);
}
